1. Field of the Invention
The present invention relates generally to improvements in servo methods, and, more particularly, but not by way of limitation to improvements in servo methods for effecting seeks between data tracks on disks of hard disk drives.
2. Brief Description of the Prior Art
A peripheral commonly used with a computer is a hard disk drive in which data generated by the computer is stored on concentric tracks defined in magnetic coatings formed on metallic disks. The rigidity of the disks permits the data tracks to be closely spaced so that the hard disk drive is capable of storing large amounts of information. Because of this capacity, the hard disk drive is becoming increasingly popular with computer users. Data is written to or read from a selected track by read/write heads that are supported by a pivotable actuator adjacent the disk stack so that the heads can be moved across the disks by a passing a current through a coil, immersed in a magnetic field, at the end of the actuator opposite the heads.
In order to carry out the storage of data to a selected track of a disk, it is necessary to move a read/write head that writes the data to the track and, similarly, it is necessary to move the read/write head to a track whereon data has been previously stored to read such data. For these purposes, the hard disk drive is provided with a servo circuit that reads a servo pattern in the data tracks or on a dedicated servo surface and responds, in a seek mode of operation of the servo system, to effect the movement to the track. Often, the response is carried out by using the servo pattern to generate a position error signal, indicative of the location of the head which reads the pattern, referred to as the servo head, with respect to the centers of the tracks, differentiating the position error signals to obtain a signal proportional to the radial velocity of the servo head across the disk, and comparing the actual velocities of the servo head with velocities stored as a velocity demand profile in a look up table in microprocessor. If the actual velocity at a given distance from the destination track is lower than the velocity taken from the velocity demand profile for that distance, a correction signal is generated and transmitted to a power amplifier which passes a current through the actuator coil in a direction that will tend to accelerate the heads across the disks. Conversely, if the actual velocity of the servo head is greater than the demand velocity for a given servo head location, the current passed through the actuator coil will be in a direction to decelerate the servo head. By designing the velocity demand profile to demand large servo head velocities at large distances from a destination track and to demand steadily decreasing velocities as the servo head approaches the destination track, the servo head can be caused to have a large acceleration at the start of a seek and a deceleration near the end of the seek that will ideally cause the head to arrive at the track with a velocity that will cause the head to rapidly settle on the track when the servo circuit undergoes a transition to a track following mode of operation in which the servo head is maintained in alignment with the track by control signals generated in proportion to the position error signal, and the integral thereof, and transmitted to the power amplifier.
In practice, this ideal has not been hitherto achieved. In particular, bias forces are exerted on the heads by air swirling about the disk surfaces and by electrical leads by means of which electrical connections are made to the heads with the result that the acceleration and deceleration of the the heads will not be proportional to the difference in the demand and actual velocities of the heads across the disk. Moreover, electronic offsets similarly affect the relationship between head acceleration and deceleration and the difference in actual and demand velocities. As a result, the heads do not follow the velocity demand profile and, accordingly, can arrive at the destination track with an excessive speed that causes overshoot of the track or with an insufficient speed that can cause the head to stall before reaching the track. In either case, time is consumed in settling of the head on the track sufficiently that reading from or writing to the track can be commenced. The net result is a loss of throughput of the hard disk drive; that is, the average rate at which data can be stored or retrieved by the computer with which the hard disk drive is used.
A second effect that results in the loss of throughput is bit crowding that occurs at inside tracks on the disk surface that is used in servoing. In many cases, it will be desirable to adjust the gain of the servo loop by providing an AGC circuit that responds to dibits of the servo pattern that are geometrically equivalent from one track to another so that, ideally, measurement of signals produced in the servo head by such dibits will provide a constant amplitude signal that can be used to AGC the loop gain. In practice, a geometrical equivalence of dibits of the servo pattern cannot be maintained because of the decreasing circumferences of the tracks from the edge of the disk toward the center thereof. As a result, signals generated in the servo head as dibits of the servo pattern pass thereunder can superimpose to cause the amplitudes of the signals to differ from the amplitudes of signals that would be produced by isolated servo pattern dibits. Moreover, because of the variation of the track circumferences with radius, the degree of superposition will vary from one track to another. The net result is that a loop gain that is appropriate for one track is not appropriate for other tracks. Thus, if an average loop gain is used for effecting seeks, the differentiated position error signals, to which signals corresponding to the demand velocities taken from the velocity demand profile are compared, will not be representative of the actual velocity of the servo head. Again, long settling times for the head on a destination track can result to lower data throughput.